############################Exercicios aula 4 - Paola Franzan Sanches

#########4.2 Cervejas

#Uma amostra de 30 estudantes foi indagada sobre seu tipo de cerveja preferida, com o seguinte resultado
cervejas <-c("chope","lata","garrafa","chope","garrafa", "garrafa","lata","lata","nenhuma","lata","garrafa","garrafa", "garrafa","lata","lata","lata","garrafa","lata","chope","nenhuma", "garrafa","garrafa","garrafa","chope","garrafa","garrafa","chope","garrafa","lata","lata")

str(cervejas)
summary(cervejas)

#help(dotchart)
help(barplot)

table(cervejas)->cervejas.n
par(mfrow=c(2,2))
barplot(table(cervejas), ylab="Numero por categoria", main="Preferncia de Cerveja")
dotchart(cervejas.n, xlab="Numero por categoria",  main="Preferncia de Cerveja")

#2 Qual tem maior razo dado/tinta?
#Se razo dado/tinta  dada por quantidade de dados apresentados/tinta gasta no grfico, sendo dados1 = dados2 e tinta1> tinta2, ento, a razo dados/tinta1<dados/tinta2 assim, o primeiro gasta mais tinta por quantidade de dado. 


####################4.3 Caixetas

getwd()
setwd("C:/Users/Aluno/Desktop/aula4")
caixeta <- read.csv("caixeta.csv", as.is=T)
head(caixeta)
tail(caixeta)
str(caixeta)
summary(caixeta)

#1
#dap
#cap= 2*pi(dap/2)
#(dap/2)^2=1/pi

dap=cap/pi

caixeta$dap<-caixeta$cap/pi

hist(caixeta$dap)

#2


unique(caixeta$local)

par(mfrow=c(1,3))
hist(caixeta$h[caixeta$local=="chauas"], xlab="h de chaua")
hist(caixeta$h[caixeta$local=="jureia"], xlab="h de jureia")
hist(caixeta$h[caixeta$local=="retiro"], xlab="h de retiro")

#3
# Resp.: Apesar da escala dos trs histogramas estarem diferentes, percebemos atravs deles que as plantas das trs reas possuem alturas intermedirias, em maior frequencia, isto , h um maior nmero de plantas com alturas intermedirias, do que com alturas extremas( tanto para menos, como para baixo).Porm, para os locais Chaua e retiro, h um maior nmero de plantas com altura entre 50 e 100 metros, embora haj em Chaua um outlier e em Retiro no. J para Jureia, a altura com maior frequncia  entre 80 e 120 aproximadamente e assim como Retiro, Jureia no apresente uma planta que distoa das demais, quanto a altura.   

##########################4_4

getwd()
setwd("C:/Users/Aluno/Desktop/aula4")
egrandis<- read.csv("egrandis.csv", header=TRUE, sep=";",as.is=T)
head(egrandis)
tail(egrandis)
str(egrandis)
summary(egrandis)

#1

par(mfrow=c(1,2))
#help(boxplot)

#boxplot(dap~regiao, data=egrandis)
boxplot(egrandis$dap~egrandis$regiao, xlab="Regiao", ylab="Dap", main= "E.grandis")

boxplot(egrandis$dap~egrandis$rotacao,xlab="Rotao", ylab="Dap", main= "E.grandis" )

#2
help(qqnorm)
summary(egrandis$ht)
par(mfrow=c(1,1))
qqnorm(egrandis$ht, main="Normalidade da altura de E. grandis", xlab = "Theoretical Quantiles", ylab = "Sample Quantiles",
       plot.it = TRUE, datax = FALSE)
qqline(egrandis$ht)


############################# 4_5 


#Analise a relao dap-altura ('dap' e 'h') em funo do caixetal (local) com a funo plot,
#mas somente para as rvores 2) de caixeta (Tabebuia cassinoides).

getwd()
setwd("C:/Users/Stefano C. Zveiter/Documents/aula 4")
caixeta <- read.csv("caixeta.csv", as.is=T)
head(caixeta)
tail(caixeta)
str(caixeta)
summary(caixeta)

#primeiro passo: calcular a area basal de cada fuste, criando uma coluna ab.
#o exercicio fornece o cap. 
#se cap=2piR   R=cap/2pi      ab=piR^2=pi*(cap/(2*pi))^2 

caixeta$ab<- pi*(caixeta$cap/(2*pi))^2
summary(caixeta)

#agora temos uma tabela com uma coluna com varias arvores, e varios fustes por arvores. 
#temos que juntar todos os fustes em sua respectiva arvore, para somando os valores de area basal

#funo= aggregate 
##A funo aggregate gera subconjuntos de cada um dos vetores de um data frame, executa uma funo para cada um desses subconjuntos, e retorna um novo data frame com os resultados.
##Como seu resultado  sempre um data frame, a funo aggregate  mais adequada que tapply para fazer estatticas de muitos casos por uma ou muitas combinaes de critrios:
#eu quero agregar fuste por rvore, 
#assim: Os argumentos bsicos da funo so o data.frame com os valores (x), o(s) fator(es) 
#que definem os subconjuntos (by, que deve ser uma lista), e a funo a calcular de cada vetor do data 
#frame (FUN).


por.arvore<-aggregate(caixeta$ab, by=list(arvore=caixeta$arvore,local=caixeta$local, altura=caixeta$h, especie=caixeta$especie), sum)  ## area basal vira x
por.arvore

por.arvore$dap<- 2*sqrt(por.arvore$x/pi)

#Agora eu s quero os valores para T. cassinoides:

por.arvore.tc<- subset(por.arvore, por.arvore$especie == "Tabebuia cassinoides") 
por.arvore.tc

#segundo a correo do Diogo eu tenho duas rvores em retiro que tem o nome de 28:
por.arvore.tc[por.arvore.tc$local == "retiro" & por.arvore.tc$arvore == 28, ] 

#. vou eliminar as duas, por no saber qual est certa. e j vou separar por local, para plotar sem usar o argumento subset

por.arvore.tc.retiro<-subset(por.arvore.tc, por.arvore.tc$local=="retiro" & por.arvore.tc$arvore != 28, )
por.arvore.tc.retiro

por.arvore.tc.chauas<-subset(por.arvore.tc, por.arvore.tc$local=="chauas")
por.arvore.tc.chauas

por.arvore.tc.jureia<-subset(por.arvore.tc, por.arvore.tc$local=="jureia")
por.arvore.tc.jureia


par(mfrow=c(1,3))
plot(por.arvore.tc.retiro$dap~por.arvore.tc.retiro$altura, xlab="altura retiro", ylab="dap retiro", main="T. cassinoides")
plot(por.arvore.tc.chauas$dap~por.arvore.tc.chauas$altura, xlab="altura chauas", ylab="dap jureia", main="T. cassinoides")
plot(por.arvore.tc.jureia$dap~por.arvore.tc.jureia$altura, xlab="altura jureia", ylab="dap retiro", main="T. cassinoides")

#Para a mesma relao do item anterior, verifique linearidade com a funo scatter.smooth
#para suavizar com o scatter.smooth eu preciso separar cada uma das localidades, pq seno ele assume uma nica. 
#para isso, como eu ja agrupei por local no item anterior,  s fazer direto:

#scatter.smooth(x, y, usw): x=altura, y= dap

par(mfrow=c(1,3))
scatter.smooth(por.arvore.tc.chauas$altura, por.arvore.tc.chauas$dap, main="T. cassinoides", xlab="altura chauas", ylab="dap chauas")
scatter.smooth(por.arvore.tc.jureia$altura, por.arvore.tc.jureia$dap, main="T. cassinoides", xlab="altura jureia", ylab="dap jureia")
scatter.smooth(por.arvore.tc.retiro$altura, por.arvore.tc.retiro$dap, main="T. cassinoides", xlab="altura retiro", ylab="dap retiro")

#Utilizando o pacote lattice, analise a relao dap-altura ('dap' e 'h') em funo do caixetal (local), mas somente para as rvores de caixeta (Tabebuia cassinoides).

#primeira coisa: carregar o pacote lattice
library(lattice)


xyplot(por.arvore.tc$dap ~ por.arvore.tc$altura | por.arvore.tc$local, xlab= "altura", ylab= "dap", main= "relao dap-altura para T. cassinoides")

# verificando a diferena: coplot(por.arvore.tc$dap ~ por.arvore.tc$altura | por.arvore.tc$local)

